嗨大家好,我是Sean! 終於來到Django系列重要的今天!
今天我們來講講Django Rest Framework,簡稱DRF。
DRF有多神呢? 讓我們娓娓道來他的天生神力。
https://www.django-rest-framework.org/
根據DRF自己官網的敘述:
Django REST framework is a powerful and flexible toolkit for building Web APIs.
DRF的優點在於:
那麼,我們該怎麼使用DRF呢? 讓我們先從環境安裝講起
首先,在專案裡先開啟我們的虛擬環境,然後輸入指令安裝DRF。
pip install djangorestframework
接著打開settings.py,找到INSTALLED_APPS的部分,在最下方加入rest_framework
INSTALLED_APPS = [
...,
'rest_framework',
]
將settings儲存以後,我們可以來引用rest_framework的套件了!
在此之前,我們先來介紹一下rest_framework中,其中一個重要的功能:serializer。
序列化的概念可能為DRF中最重要的概念之一。
那麼,序列化是甚麼?
由於在現今前後端分離的傳統下,前後端的溝通常依賴JSON形式的資料結構來傳遞。
通常來說,我們是無法將物件進行JSON序列化的,而serializer就可以幫助我們做到這件事。
序列化簡單來說,也就是將物件化為JSON形式
並且將物件序列化後,回傳前端,另一方面,serializer也可以幫助我們檢驗,前端傳來後端的資料是否可以通過欄位格式驗證,進一步來說,也可以依照我們客製化的參數來做額外的驗證。
回到我們的專案,首先我們先在ironman的資料夾新增一個名為serializers.py的檔案
接著,我們在檔案建立我們的serializer
from rest_framework import serializers
from .models import People
model serializer的寫法是不是與form有點類似阿,同樣的,他們都可以在第二個參數fields裡定義選取那些欄位。
下一步,我們來到views.py的檔案,撰寫有關rest framework的view。
今天我們先寫一個get People資料的api,使用generics.ListAPIView
然後,依照慣例,我們必須將我們的view寫在urls裡,才能藉由url的路徑啟用。
這麼一來,就簡單建立了我們第一個api了,那麼,來看看它的結果吧! 進入api/的路徑查看:
上圖就是我們視覺化api,內容便是我們call api會得到的JSON格式的回傳,即是我們People資料模型的list!
不僅可以直觀的看到call api的內容,後續也可以直接透過我們api頁面使用api,並且切換不同method使用
那麼,我們今天的文章就先到此結束!明天我們會繼續介紹一些DRF的用法。
我是Sean,你各位海上的人,我們明天見!